import { message } from 'antd'

//checkImageWH 必须为正方形  返回一个promise  检测通过返回resolve  失败返回reject阻止图片上传
export function checkImageSameWH(file) {
  return new Promise(function (resolve, reject) {
    let filereader = new FileReader()
    filereader.onload = (e) => {
      let src = e.target.result
      const image = new Image()
      image.onload = function () {
        if (this.width !== this.height) {
          // debugger
          message.error('上传文件的宽高必须一致，请重新上传')
          reject()
        } else {
          resolve()
        }
      }
      image.onerror = reject
      image.src = src
    }
    filereader.readAsDataURL(file)
  })
}
//检验文件大小
export function checkSize(file, size) {
  return new Promise(function (resolve, reject) {
    if (file.size / 1024 / 1024 > size) {
      message.error('文件大小超出限制，请重新上传')
      reject()
    } else {
      resolve()
    }
  })
}
//检验文件类型
// export function checkType(file, typeList) {
//   return new Promise(function (resolve, reject) {
//     if (!typeList.includes(file.type)) {
//       message.error('文件类型错误，请重新上传')
//       reject()
//     } else {
//       resolve()
//     }
//   })
// }

// 文件转换为base64
export function getBase64(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader()
    reader.readAsDataURL(file)
    reader.onload = () => resolve(reader.result)
    reader.onerror = (error) => reject(error)
  })
}

// 检查文件类型是否正确（传入 file文件 和 type文件类型枚举）
export const checkType = (file, type) => {
  // 文件名称
  const fileName = file.name
  // 文件后缀
  const suffix = fileName.substring(fileName.lastIndexOf('.'), fileName.length)
  // 接受的后缀（这里要去除空格）
  const accepts = type.accept.replace(/\s+/g, '').split(',')
  console.log(accepts)
  // 后缀是否在里面
  return !accepts.includes(suffix)
}
